// 类型声明
// 声明文件可以让我们不需要将JS重构为TS，只需要加上声明文件就可以使用系统
// 类型声明在编译的时候都会被删除，不会影响真正的代码
// 关键字 declare 表示声明的意思,我们可以用它来做出各种声明
// declare var  声明全局变量
// declare function  声明全局方法
// declare class  声明全局类
// declare enum 声明全局枚举类型
// declare namespace 声明(含有子属性的)全局对象
// interface 和 type 声明全局类型
// 1.普通类型声明
var a;
(function (a) {
    ;
    getname();
    new Animal().name;
})(a || (a = {}));
// 2.外部枚举
// 外部枚举是使用declare enum定义的枚举类型
// 外部枚举用来描述已经存在的枚举类型的形状 
var b;
(function (b) {
    var seasons = [
        Seasons.Spring,
        Seasons.Summer,
        Seasons.Autumn,
        Seasons.Winter
    ];
    // declare 定义的类型只会用于编译时的检查，编译结果中会被删除。
})(b || (b = {}));
